﻿
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MyWeb.Common;
using MyWeb.Business;
using MyWeb.Data;
namespace MyWeb.Admins
{
    public partial class Menu : System.Web.UI.Page
    {
        static bool Insert = false;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Session["folder"] = "Menu"; BindGrid();
            }
        }
        private void BindGrid()
        {
            grdMenu.DataSource = MenuService.Menu_GetByAll() ;
            grdMenu.DataBind();
        }
        protected void btnThem_Click(object sender, EventArgs e)
        {
            pnShow.Visible = false;
            pnUpdate.Visible = true;
            ControlClass.ResetControlValues(this);
            Session["upload"] = null;
            Insert=true;
        }
        protected void btnXoa_Click(object sender, EventArgs e)
        {
            try
            {
                DataGridItem item = default(DataGridItem);
                for (int i = 0; i < grdMenu.Items.Count; i++)
                {
                    item = grdMenu.Items[i];
                    if (item.ItemType == ListItemType.AlternatingItem | item.ItemType == ListItemType.Item)
                    {
                        if (((CheckBox)item.FindControl("ChkSelect")).Checked)
                        {
                            string strId = item.Cells[1].Text;
                            try
                            {
                                MenuService.Menu_Delete(strId);
                            }
                            catch { }
                        }
                    }
                }
                grdMenu.CurrentPageIndex = 0;
                BindGrid();
            }
            catch { }
        }
        protected void grdMenu_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            Data.MenuInfo strCA=new MenuInfo();
            String Id = e.CommandArgument.ToString();
            if  (e.CommandName=="Edit")
            {
                DataTable dt = MenuService.Menu_GetById(Id);
                txtId.Text=dt.Rows[0]["Id"].ToString();
                txtName.Text=dt.Rows[0]["Name"].ToString();
                txtLink.Text=dt.Rows[0]["Link"].ToString();txtOrder.Text=dt.Rows[0]["Order"].ToString();
                txtParentId.Text=dt.Rows[0]["ParentId"].ToString();pnUpdate.Visible = true;pnShow.Visible = false;
            }
            else
            {
                MenuService.Menu_Delete(Id);
                BindGrid();
            }
        }protected void lblBack_Click(object sender, EventArgs e){pnUpdate.Visible = false;pnShow.Visible = true;Insert=false;}protected void lblUpdate_Click(object sender, EventArgs e){string image = Session["upload"] == null ? "" : Session["upload"].ToString();
                #region[TestInput]
            if (txtId.Text.Trim().Equals("")){WebMsgBox.Show("Id không thể trống !");txtId.Focus();return;}if (txtName.Text.Trim().Equals("")){WebMsgBox.Show("Name không thể trống !");txtName.Focus();return;}if (txtLink.Text.Trim().Equals("")){WebMsgBox.Show("Link không thể trống !");txtLink.Focus();return;}if (txtOrder.Text.Trim().Equals("")){WebMsgBox.Show("Order không thể trống !");txtOrder.Focus();return;}if (txtParentId.Text.Trim().Equals("")){WebMsgBox.Show("ParentId không thể trống !");txtParentId.Focus();return;}
            #endregion
            Data.MenuInfo obj=new Data.MenuInfo();obj.Id = txtId.Text;obj.Name = txtName.Text;obj.Link = txtLink.Text;obj.Order = txtOrder.Text;obj.ParentId = txtParentId.Text;if (Insert == true){MenuService.Menu_Insert(obj);}else{MenuService.Menu_Update(obj);}BindGrid();pnShow.Visible = true;pnUpdate.Visible = false;Insert = false;
        }protected void grdMenu_PageIndexChanged(object source, DataGridPageChangedEventArgs e){grdMenu.CurrentPageIndex = e.NewPageIndex;BindGrid();} protected void grdMenu_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
        ListItemType itemType = e.Item.ItemType;if ((itemType != ListItemType.Footer) && (itemType != ListItemType.Separator)){if (itemType == ListItemType.Header){object checkBox = e.Item.FindControl("chkSelectAll");if ((checkBox != null)){((CheckBox)checkBox).Attributes.Add("onClick", "Javascript:chkSelectAll_OnClick(this)");
        }
        }else{
        string tableRowId = grdMenu.ClientID + "_row" + e.Item.ItemIndex.ToString();
        e.Item.Attributes.Add("id", tableRowId);
        object checkBox = e.Item.FindControl("chkSelect");
        if ((checkBox != null))
        {e.Item.Attributes.Add("onMouseMove", "Javascript:chkSelect_OnMouseMove(this)");
        e.Item.Attributes.Add("onMouseOut", "Javascript:chkSelect_OnMouseOut(this," + e.Item.ItemIndex + ")");((CheckBox)checkBox).Attributes.Add("onClick", "Javascript:chkSelect_OnClick(this," + e.Item.ItemIndex + ")");}}}}
        }
        }